import Vue from 'vue'
import App from './App.vue'
import router from './router'
// 引入Vuex.Store实例
import store from './store'

import { relativeTime } from '@/utils/date-time'
// 引入vant组件库
// 一起使用按需导入和默认导入
// import Vant, { Lazyload } from 'vant'
import {
  Button,
  Tabbar,
  TabbarItem,
  Form,
  Field,
  NavBar,
  Toast,
  Tabs,
  Tab,
  List,
  Lazyload,
  CellGroup,
  Cell,
  Icon,
  Grid,
  GridItem,
  Popup,
  Row,
  Col,
  Tag,
  Image,
  Divider,
  PullRefresh,
  ActionSheet,
  Loading,
  Search,
  Dialog
} from 'vant'
// import { Lazyload } from 'vant'

import 'vant/lib/index.css'

// 引入自定义的样式
import '@/styles/index.less'

// 它会自动引入一个.js文件，帮助我们针对不同的手机屏幕来设置不同的html上的font-size大小
// 找到这个包，并执行其中的代码
import 'amfe-flexible'

console.log(relativeTime('2020-06-20T23:11:59'))

// 定义一个全局过滤器，对时间进行相对计算
Vue.filter('relativeTime', relativeTime)
// 注册插件
// Vue.use(Vant)
Vue.use(Button)
Vue.use(Tabbar)
Vue.use(TabbarItem)
Vue.use(Form)
Vue.use(Field)
Vue.use(NavBar)
Vue.use(Toast)
Vue.use(Tabs)
Vue.use(Tab)
Vue.use(List)
Vue.use(Lazyload)
Vue.use(CellGroup)
Vue.use(Cell)
Vue.use(Icon)
Vue.use(Grid)
Vue.use(GridItem)
Vue.use(Popup)
Vue.use(Row)
Vue.use(Col)
Vue.use(Tag)
Vue.use(Image)
Vue.use(PullRefresh)
Vue.use(ActionSheet)
Vue.use(Divider)
Vue.use(Loading)
Vue.use(Search)
Vue.use(Dialog)
// 使用懒加载
Vue.use(Lazyload)

// 注册事件总线
// 给Vue这个构造器的原型对象上添加一个属性，名字是： $eventBus。这个名字是可以自已写的。
// 这个属性的值是 ：new Vue()。 表示Vue的一个新的实例。
// 由于给vue的构造器的原型对象添加了属性，所有的组件的都是通过Vue构造器创建的，
// 所以，在任意组件内部，我们都可以通过this.$eventBus来访问这个事件总线
Vue.prototype.$eventBus = new Vue()

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
